1. Field of the Invention
The present application relates generally to an improved data processing apparatus and method and more specifically to an apparatus and method for providing an adaptive spill-receive mechanism for lateral caches.
2. Background of the Invention
Chip multi-processors (CMP) have become a popular design point for industry. An important decision in architecting a CMP is to organize the last level cache (LLC). A shared LLC has the advantage of dynamically sharing cache capacity among the cores; however, a shared LLC suffers from performance isolation, increased access latency, and port contention. Therefore, some of the CMP designs have chosen to have a private LLC for each of the individual cores. Private caches also have an advantage of design simplicity as private caches facilitate a tiled architecture making it possible to build large scale CMPs.
In a CMP configuration in which there are several cores and each core has a private LLC, the caches at the same level of a cache hierarchy are commonly referred to as lateral caches. A challenge in managing such private cache architecture is to share cache capacity when one processor needs more cache and other processors have extra cache capacity. This is commonly achieved by employing a cache spill mechanism among lateral caches. When a line is evicted from a cache, instead of discarding the line, the line can be placed in another cache at the same level. If done intelligently, lateral cache spills can improve cache performance considerably. For example, workloads that have a small working set can provide the excess cache space to workloads that continue to benefit from extra cache thereby increasing performance.
However, not all workloads that have large working set benefit from extra cache. For example, workloads that have a streaming access pattern and a huge working set have very little cache reuse and therefore, do not benefit from cache. Spilling cache lines evicted from such applications into other caches may in-fact degrade cache performance of other applications.